CMOS technology has evolved such that the computer market has rapidly opened to a wide range of consumers. Today, multi-media requires at least a 64 MB, and preferably even a 128 MB random access memory (RAM), which increases the relative cost of the memory system within the computer. In the near future, it is likely that 256 MB and 512 MB computers will become commonplace, which suggests a potential strong demand for 256 Mb RAMs and beyond. Still in the development stage, RAMs in the Gigabit range are already under way. As RAM density and lithographic difficulties increase, it is more difficult to obtain RAMs which are fully functional. Process and design engineers are continuously attempting to reduce and, ultimately, eliminate mask defects.
It has long been practiced in the art creating redundant circuits which can substitute failing circuits during a repair operation, wherein the process of repairing involves creating and/or destructing connections to the RAM. Most RAMs are organized as 2-dimensional arrays of rows and columns. Redundant circuits usually take the form of spare rows and columns and switchable connections known as fuses. An approach typically used for repairing a RAM is known as redundancy replacement, wherein a redundancy address for replacing a faulty element is identified at the device level and programmed by blowing laser fuses or electrically programmable fuses. Redundancy replacement with laser fuses is the most commonly used approach to improve memory device yield, the details of which are well described in the article, T. Kirihata et. al., "Fault-Tolerant Designs for 256 Mb DRAM," IEEE Solid-State Circuits, Vol. 31, No. 4, April 1996, pp. 558-556. An on-chip programming method and the detailed of the embodiment with the electrically programmable fuses are well discussed in U.S. patent application Ser. No. 09/512,922, entitled "Method of Addressing Electrical fuses".
Typical electric systems, such as personal computers, employ a plurality of RAMs to embody a main memory of adequate density (i.e., 128 MB) coupled to data ports (i.e., 64 bits). More particularly, the main memory is configured by arranging a plurality of Dual-In line-Memory-Modules (DIMM), each consisting of a plurality of RAMs. When the RAMs are arranged in a DIMM configuration, programming a redundancy address in at least two of the memory devices is required to perform a repair at the DIMM or at system level.
FIG. 1 shows a simplified version of a standard DIMM (100). The DIMM ports consist of a clock port (CLK), control ports (CS, RAS, CAS, WE), address ports (ADRs), and 64 data ports (DQ&lt;0:63&gt;) coupled to a system memory bus. Eight RAMs (RAM 0-7), each having 8 RAM data ports (i.e., DQ&lt;0:7&gt; for RAM0) are arranged within DIMM (100), wherein the clock (CLK), address bus (a plurality of address lines ADRs), and control bus (CS, RAS, CAS, WE) of all the RAMs 0-7 are interconnected and coupled to the corresponding DIMM ports. DQ&lt;0:63&gt; are preferably arranged in 8 DQ groups, each having 8 data ports coupled to appropriate RAM data ports in the corresponding RAMs. More particularly, DQ&lt;0:7&gt;, DQ&lt;8:15&gt;, DQ&lt;16:23&gt;, DQ&lt;24:31&gt;, DQ&lt;32:39&gt;,DQ&lt;40:47&gt;, DQ&lt;48:55&gt;, and DQ&lt;56:63&gt; are coupled to RAM0, RAM1, RAM2, RAM3, RAM4, RAM5, RAM6, and RAM7, respectively. In a typical electric system, a memory controller regulates the common control buses (CS, RAS, CAS, WE) and address buses (ADRs) such that a 64 bit data communication between all RAMs in the DIMM and the memory controller is realized by way of the system memory data bus (DQ&lt;0:63&gt;). Thus, all the memories in the DIMM are accessed (either read from or written to) in parallel with the common control and address bus.
In order to repair a fault in a plurality of RAMs within a plurality of DIMMs in an electric system, it is necessary to identify one DIMM of the plurality of DIMMs, the pertinent RAMs within the identified DIMM, and a redundancy address within the identified RAM. By way of example, U.S. Pat. No. 5,764,574 proposes the use of a RAM data port for programming a redundancy address within the RAM. The data ports of the RAMs in the DIMM are not coupled to the same DIMM data ports. This allows a redundancy address in each RAM to be programmed independently through the corresponding DIMM data ports. However, in an actual electric system, there exists a variety of RAMs which contain a different number of the data ports. It is highly unlikely to have a similar redundancy architecture which is applicable to all RAM configurations. These considerations cause a potential difficulty when using the prior art. Moreover, it is undesirable to enforce using a redundancy address programming protocol without considering the system standard protocol, particularly since it is very important to follow existing electric standards. The most important issue is to follow a fully compatible protocol for addressing the memory cells and programming a redundancy address. This is because the redundancy address to be programmed is the address which is inoperative when the protocol is applied. Until now, this problem was not fully considered. Therefore, today, when a RAM fails in the field, (i.e., installed in an electric system), at least one DIMM having the defective RAM or all of the RAMs must be replaced. Solving this problem necessitates introducing new techniques that guarantee the repair of RAMs within a DIMM or electric system notwithstanding the added complexity to the design and manufacture.